1. Field of the Invention
The present invention relates to video conferencing, and more particularly, to resource allocation for video conferencing.
2. Description of the Related Art
Video conferencing has been utilized for many years. However, in recent years, video conferencing from a computer terminal or through a computer network has become feasible. The computer terminal is, for example, a personal computer having a camera and a microphone. The computer network can be a Local Area Network (LAN), a Public System Telephone Network (PSTN), or the Internet. Video conferencing requires a large amount of bandwidth and often quality levels of audio, video and data are not able to be maintained at high levels due to limitations on bandwidth. The limitation on bandwidth can come from the computer network or the computer terminals.
Current video conferencing standards, particularly those that used packetized data for transmission (e.g. IP, Ethernet), separate a conference into separate streams for audio, video and data. Two standards that pertain to video conferencing are: (1) ITU-T Recommendation H.320 (1996) Narrow-band visual telephone systems and terminal equipment and (2) ITU-T Recommendation H.323 (1997) Packet-based multimedia communications systems, and both of which are hereby incorporated by reference.
Various algorithms have been used to allocated varying amounts of bandwidth to audio versus video. However, these conventional algorithms all operate under the assumption that audio is more important than video, and thus when bandwidth is in short supply video quality is sacrificed to maintain a certain minimal level of audio quality. In severe cases, the video stream can even be completely dropped.
One problem is that audio is presumed to be more important than video. However, often times video is more important than audio, and in such cases, the conventional approaches are not appropriate. For example, if a participant to a video conference is hearing impaired, they will likely desire to lip read from the participant of the video conference that is talking. Hence, for the hearing impaired person, high quality video is needed and audio quality is not important. Another example of a situation where video is more important than audio is where a participant is trying to read text or other detailed objects of a video image of the video conference. In such a case, the participant may want to temporarily obtain high quality video while sacrificing audio quality, which would enable the participant to read the text or other detailed objects from the video. With severe loss in bandwidth, the conventional approaches might even drop the video stream altogether (and display a notification screen or a skill image) and continue with the audio stream.
Another problem with the conventional algorithms is that the user cannot participate in the allocation of bandwidth between audio and video. Hence, conventionally speaking, a participant would not be able to alter the bandwidth allocation during the video conference. At best, a participant could set some preference levels only during the initial call setup of the video conference.
Thus, there is a need for improved approaches to allocated bandwidth for video conferencing.
Broadly speaking, the invention relates to techniques to dynamically control the allocation of resources between audio and video (and perhaps data) streams of a video conference. By providing the dynamic control, a participant to a video conference is able to alter the quality levels for the audio and video (and perhaps data) streams that they receive while the video conference is ongoing. The invention is particularly well suited for personal computer based video conferencing.
The invention can be implemented in numerous ways, including as a method, an apparatus, a computer readable medium, and a computer system. Several embodiments of the invention are discussed below.
As a method for providing a video conference, an embodiment of the invention includes the acts of: initiating a video conference having an audio quality level and a video quality level, the video conference using resources to provide audio and video between two stations coupled together by a network; displaying a quality level adjustment tool that allows a participant to adjust at least one of the audio quality level and the video quality level as the video conference is ongoing; receiving, from the quality level adjustment tool, an adjustment request to modify at least one of the audio quality level and the video quality level; and adjusting at least one of the audio quality level and the video quality level in accordance with the adjustment amount.
As a method for providing a video conference, another embodiment of the invention includes the operations of: initiating a video conference having an audio quality level and a video quality level, the video conference providing audio and video between two stations coupled together by a network; monitoring a conference quality level for the video conference as the video conference is ongoing; determining if a loss of quality for the video conference has been detected or anticipated; displaying a request for a quality level adjustment when the determining determines that a loss of quality has been detected or anticipated; receiving an adjustment request to modify at least one of the audio quality level and the video quality level; and adjusting at least one of the audio quality level and the video quality level in accordance with the adjustment amount.
As a method for providing a video conference, still another embodiment of the invention includes the acts of: initiating a video conference having an audio quality level and a video quality level, the video conference using resources to provide audio and video between two stations coupled together by a network; monitoring available resources for the video conference as the video conference is ongoing; determining if a reduction of the available resources for the video conference has been detected or anticipated; displaying a request for a quality level adjustment when the determining determines that a reduction of the available resources has been detected or anticipated; receiving, in response to the request being displayed, an adjustment request to modify at least one of the audio quality level and the video quality level; and adjusting at least one of the audio quality level and the video quality level in accordance with the adjustment request.
As method for providing a video conference using a conference server, an embodiment of the invention includes: receiving incoming streams of audio and video from stations participating in the video conference, the incoming streams having incoming quality levels; receiving requested quality levels from the stations participating in the video conference; processing the incoming streams to produce outgoing streams in accordance with the requested quality levels; and transmitting the outgoing streams to the stations participating in the video conference. The requested quality levels from the stations can be received dynamically as the video conference is ongoing. Optionally, one of the stations can be instructed to reduce the quality of one or more of its transmitted streams.
As a computer readable medium including computer program code for providing a video conference, an embodiment of the invention includes: computer program code for initiating a video conference having an audio quality level and a video quality level, the video conference using resources to provide audio and video between two stations coupled together by a network; computer program code for displaying a quality level adjustment tool that allows a participant to adjust at least one of the audio quality level and the video quality level as the video conference is ongoing; computer program code for receiving, from the quality level adjustment tool, an adjustment request to modify at least one of the audio quality level and the video quality level; and computer program code for adjusting at least one of the audio quality level and the video quality level in accordance with the adjustment amount.
As a computer readable medium including computer program code for providing a video conference using a conference server, an embodiment of the invention includes: computer program code for receiving incoming streams of audio and video from stations participating in the video conference, the incoming streams having incoming quality levels; computer program code for receiving requested quality levels from the stations participating in the video conference; computer program code for processing the incoming streams to produce outgoing streams in accordance with the requested quality levels;.and computer program code for transmitting the outgoing streams to the stations participating in the video conference. The reception of the requested quality levels from the stations can occur dynamically as the video conference is ongoing.
As a computer system for supporting a video conference with a remote computer system through a network, an embodiment of the computer system includes: a camera for receiving local images; a display for displaying remote images from a remote computer system participating in the video conference; a microphone for picking up local audio; a speaker for reproducing remote audio from the remote computer system participating in the video conference; and a video controller that controls the transmission of the local video and the local audio as well as the reception of the remote video and the remote audio. More particularly, the video controller operates to (1) initiate the video conference having an audio quality level and a video quality level, (2) display a quality level adjustment tool that allows a participant to adjust at least one of the audio quality level and the video quality level as the video conference is ongoing, (3) receive, from the quality level adjustment tool, an adjustment request to modify at least one of the audio quality level and the video quality level; and (4) adjust at least one of the audio quality level and the video quality level in accordance with the adjustment amount.
The advantages of the invention are numerous. One advantage of the invention is that a participant to a video conference is able to prefer video over audio such that when resources are limited audio quality is sacrificed to preserve video quality. Another advantage of the invention is that a participant to a video conference is able to control the allocation of resources (e.g., bandwidth) to audio, video and perhaps data streams associated with the video conference in a real-time manner while the video conference is in progress.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.